package com.sikaryofficial.backend.domain.dto.resp.information;

import com.sikaryofficial.common.core.annotation.LocalDateTimeFormat;
import com.sikaryofficial.system.api.model.att.AttachmentResp;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.Date;
import java.util.List;

/**
 * 文章评价响应对象
 *
 * @author qinjinyuan
 * @date 2024-03-15
 */
@Getter
@Setter
@ToString
@ApiModel(value = "文章评价出参", description = "文章评价出参")
public class ArticleEvaluateDTO {

    /**
     * 文章评价ID
     */
    @ApiModelProperty(value = "文章评价ID", example = "1242")
    private Long articleEvaluateId;

    /**
     * 文章ID
     */
    @ApiModelProperty(value = "文章ID", example = "1")
    private Long articleId;

    /**
     * 评价内容
     */
    @ApiModelProperty(value = "评价内容", example = "评价内容")
    private String evaluateContent;

    /**
     * 创建人
     */
    @ApiModelProperty(value = "用户ID", example = "1242")
    private Long createdBy;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @LocalDateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdTime;
    /**
     * 创建人名称
     */
    @ApiModelProperty(value = "创建人名称")
    private String createdName;

    @ApiModelProperty(value = "昵称")
    private String nickName;

    @ApiModelProperty(value = "个人图像-统一默认头像")
    private String avatar;

    @ApiModelProperty(value = "回复列表")
    private List<ArticleEvaluateReplyDTO> replyList;

    @ApiModelProperty(value = "附件列表")
    private List<AttachmentResp> attachmentList;
    /**
     * 点赞统计
     */
    @ApiModelProperty(value = "点赞统计", example = "123")
    private Integer likesCount;
    /**
     * 点赞统计
     */
    @ApiModelProperty(value = "回复统计", example = "123")
    private Integer replyCount;
    /**
     * 是否有我的点赞
     */
    @ApiModelProperty(value = "是否有我的点赞")
    private boolean hasOwnerLikes;
}
